package com.ciei.dpagm.entity;

import com.ciei.dpagm.common.enums.ParameterDataTypeEnum;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @author wangyan
 * @since 2023-04-06
 */
public class ParameterBo implements Serializable {

    private static final long serialVersionUID=1L;

    private Integer parameterId;
    private Integer parentParameterId;
    private String parameterName;
    private String parentParameterName;
    private String nextParameterName;
    private Integer parameterModelId;
    private Integer parameterModuleId;
    private Integer parameterType;
    private ParameterDataTypeEnum dataType;
    private String description;
    private List<ParameterBo> children = new ArrayList<>();
    private List<String> parameterNameChain = new ArrayList<>();

    public ParameterBo() {
    }

    public ParameterBo(Integer parameterId, Integer parentParameterId,String parameterName, String parentParameterName, Integer parameterModelId, Integer parameterModuleId, ParameterDataTypeEnum dataType, String description) {
        this.parameterId = parameterId;
        this.parentParameterId = parentParameterId;
        this.parameterName = parameterName;
        this.parentParameterName = parentParameterName;
        this.parameterModelId = parameterModelId;
        this.parameterModuleId = parameterModuleId;
        this.dataType = dataType;
        this.description = description;
    }

    public Integer getParameterId() {
        return parameterId;
    }

    public void setParameterId(Integer parameterId) {
        this.parameterId = parameterId;
    }

    public Integer getParentParameterId() {
        return parentParameterId;
    }

    public void setParentParameterId(Integer parentParameterId) {
        this.parentParameterId = parentParameterId;
    }

    public String getParameterName() {
        return parameterName;
    }

    public void setParameterName(String parameterName) {
        this.parameterName = parameterName;
    }

    public String getParentParameterName() {
        return parentParameterName;
    }

    public void setParentParameterName(String parentParameterName) {
        this.parentParameterName = parentParameterName;
    }

    public String getNextParameterName() {
        return nextParameterName;
    }

    public void setNextParameterName(String nextParameterName) {
        this.nextParameterName = nextParameterName;
    }

    public Integer getParameterModelId() {
        return parameterModelId;
    }

    public void setParameterModelId(Integer parameterModelId) {
        this.parameterModelId = parameterModelId;
    }

    public Integer getParameterModuleId() {
        return parameterModuleId;
    }

    public void setParameterModuleId(Integer parameterModuleId) {
        this.parameterModuleId = parameterModuleId;
    }

    public ParameterDataTypeEnum getDataType() {
        return dataType;
    }

    public void setDataType(ParameterDataTypeEnum dataType) {
        this.dataType = dataType;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public List<ParameterBo> getChildren() {
        return children;
    }

    public void setChildren(List<ParameterBo> children) {
        this.children = children;
    }

    public List<String> getParameterNameChain() {
        return parameterNameChain;
    }

    public void setParameterNameChain(List<String> parameterNameChain) {
        this.parameterNameChain = parameterNameChain;
    }
}
